home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-29 | 6.7 KB | 218 lines |
- 10 'WIRESAG - Sag in long spans of wire - 24 JAN 94 rev. 28 SEP 96
- 20 IF EX$=""THEN EX$="EXIT"
- 30 CLS:KEY OFF
- 40 COLOR 7,0,1
- 50 DIM W(9,4) 'wire data
- 60 PI=3.14159
- 70 UL$=STRING$(80,205)
- 80 DATA 4,.2043
- 90 DATA 6,.162
- 100 DATA 10,.1019
- 110 DATA 10,.1019
- 120 DATA 12,.0808
- 130 DATA 14,.0641
- 140 DATA 16,.0508
- 150 DATA 18,.0403
- 160 DATA 20,.0320
- 170 '
- 180 FOR Z=1 TO 9
- 190 READ W(Z,1) 'AWG size
- 200 READ W(Z,2) 'wire diameter
- 210 R=W(Z,2)/2 'wire radius
- 220 W(Z,4)=3.14159*R^2*12000*0.321 'lbs./1000 ft. hard-drawn copper
- 230 W(Z,3)=W(Z,4)*0.916 'lbs./1000 ft. copperweld
- 240 NEXT Z
- 250 '
- 260 'start
- 270 CLS
- 280 COLOR 15,2
- 290 PRINT " WIRE SAG in Horizontal Wire Antennas";
- 300 PRINT TAB(57);"by George Murphy VE3ERP ";
- 310 COLOR 1,0:PRINT STRING$(80,223);
- 320 COLOR 7,0
- 330 PRINT TAB(6);
- 340 PRINT"The amount of sag calculated by this program should be increased by"
- 350 PRINT TAB(6);
- 360 PRINT"a factor of from about 1.5 to 2.0 if an unsupported heavy feeder"
- 370 PRINT TAB(6);
- 380 PRINT"line is suspended from the horizontal wire."
- 390 PRINT
- 400 COLOR 7:LOCATE CSRLIN,22:COLOR 0,7
- 410 PRINT " Press 1 to continue or 0 to EXIT.....":COLOR 7,0
- 420 Z$=INKEY$:IF Z$=""THEN 420
- 430 IF Z$="0"THEN CLS:RUN EX$
- 440 IF Z$="1"THEN 460
- 450 GOTO 420
- 460 COLOR 7,0
- 470 '
- 480 '.....start
- 490 GOSUB 1580 'text
- 500 GOSUB 2050 'screen dump
- 510 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 520 PRINT " Press number in < > to choose standard units of measure:"
- 530 PRINT UL$;
- 540 PRINT " < 1 > Metric"
- 550 PRINT " < 2 > U.S.A./Imperial"
- 560 PRINT UL$;
- 570 Z$=INKEY$:IF Z$=""THEN 570
- 580 M=VAL(Z$):IF M=1 OR M=2 THEN 610
- 590 GOTO 570
- 600 '
- 610 IF M=1 THEN M=2:GOTO 630
- 620 IF M=2 THEN M=1:GOTO 630
- 630 IF M=2 THEN M$="metres"ELSE M$="feet"
- 640 PRINT " ENTER: Length of wire to be suspended between supports, in ";M$;
- 650 INPUT Z:LW=Z/2 'LW=one half the distance between supports
- 660 IF M=2 THEN FT=LW*3.2808 ELSE FT=LW
- 670 CLS
- 680 COLOR 1,2:PRINT STRING$(80,223);
- 690 COLOR 2,2:PRINT STRING$(80,32);
- 700 COLOR 15,2:LOCATE CSRLIN-1,6
- 710 PRINT " RECOMMENDED MINIMUM SAG in a HORIZONTAL WIRE ANTENNA";LW*2;M$;" long "
- 720 COLOR 2,1:PRINT STRING$(80,223);
- 730 COLOR 7,0
- 740 PRINT "Wire CALLVARPTRSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND COPPERWELD SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLORCALLVARPTRSOUNDSOUNDSOUNDSOUNDSOUNDSOUND HARD-DRAWN COPPER SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR";
- 750 PRINT "Size WireCALL lbs./ Wire VARPTRSOUNDSOUNDSOUNDRecommendedSOUNDSOUNDSOUNDCOLORCALL lbs./ Wire VARPTRSOUNDSOUNDSOUNDRecommendedSOUNDSOUNDSOUNDCOLOR";
- 760 PRINT "AWG# Dia.CALL M ft. Weight Tension Sag CALL M ft.. Weight Tension Sag"
- 770 PRINT UL$;
- 780 LOCATE CSRLIN-1,11:PRINT "INSTR":LOCATE CSRLIN-1,46:PRINT "INSTR"
- 790 FOR Z=1 TO 9
- 800 AWG=W(Z,1)
- 810 PRINT USING "##";AWG;
- 820 DIA=W(Z,2)
- 830 IF M=1 THEN PRINT " ";USING ".####";DIA;:PRINT CHR$(34);"CALL";
- 840 IF M=2 THEN PRINT USING "###.##";DIA*25.4;:PRINT "mmCALL";
- 850 PRINT USING "####.#";W(Z,3);
- 860 A=PI*(DIA/2)^2 'cross section area
- 870 SF=0.129 'sag factor
- 880 '
- 890 W1=W(Z,3)*FT/1000 'weight - copperweld
- 900 E1=15000 'modulus for copperweld
- 910 F1=E1*A 'tension for copperweld
- 920 S1=W1^2/A*SF/F1 'sag for copperweld
- 930 D1=2*SQR((FT/2)^2-(4/3*S1^2)) 'distance between supports
- 940 '
- 950 W2=W(Z,4)*FT/1000 'weight - hard-drawn copper
- 960 E2=6350 'modulus for hard-drawn copper
- 970 F2=E2*A 'tension for hard-drawn copper
- 980 S2=W2^2/A*SF/F2 'sag for hard-drawn copper
- 990 IF(FT/2)^2<(4/3*S2^2)THEN BEEP:GOTO 1460
- 1000 D2=2*SQR((FT/2)^2-(4/3*S2^2)) 'distance between supports
- 1010 '
- 1020 U$="####.#"
- 1030 IF M=1 THEN PRINT TAB(18);USING U$;W1;:PRINT " lb";
- 1040 IF M=2 THEN PRINT TAB(18);USING U$;W1/2.2046;:PRINT " Kg";
- 1050 IF M=1 THEN PRINT TAB(28);USING U$;F1;:PRINT " lb";
- 1060 IF M=2 THEN PRINT TAB(28);USING U$;F1/2.0246;:PRINT " Kg";
- 1070 IF M=1 THEN PRINT TAB(38);USING U$;S1;:PRINT "' CALL";
- 1080 IF M=2 THEN PRINT TAB(38);USING U$;S1*0.3048;:PRINT " mCALL";
- 1090 PRINT USING "####.#";W(Z,4);
- 1100 IF M=1 THEN PRINT TAB(53);USING U$;W2;:PRINT " lb";
- 1110 IF M=2 THEN PRINT TAB(53);USING U$;W2/2.0246;:PRINT " Kg";
- 1120 IF M=1 THEN PRINT TAB(63);USING U$;F2;:PRINT " lb";
- 1130 IF M=2 THEN PRINT TAB(63);USING U$;F2/2.2046;:PRINT " Kg";
- 1140 IF M=1 THEN PRINT TAB(73);USING U$;S2;:PRINT "'"
- 1150 IF M=2 THEN PRINT TAB(73);USING U$;S2*0.3048;:PRINT " m";
- 1160 NEXT Z
- 1170 '
- 1180 PRINT UL$;
- 1190 LOCATE CSRLIN-1,11:PRINT "INSTR":LOCATE CSRLIN-1,46:PRINT "INSTR"
- 1200 PRINT "Lgth./Sag:";TAB(11);"CALL";
- 1210 SR1=FT*2/S1:SP1=S1/(FT*2)*100
- 1220 SR2=FT*2/S2:SP2=S2/(FT*2)*100
- 1230 A=SR1:GOSUB 1520
- 1240 PRINT " ratio=";USING A$;A;:PRINT ":1";
- 1250 A=SP1:GOSUB 1520
- 1260 PRINT " sag= ";USING A$;A;:PRINT "% of lgth.";
- 1270 PRINT TAB(46);"CALL";
- 1280 A=SR2:GOSUB 1520
- 1290 PRINT " ratio=";USING A$;A;:PRINT ":1";
- 1300 A=SP2:GOSUB 1520
- 1310 PRINT " sag= ";USING A$;A;:PRINT "% of lgth.";
- 1320 PRINT UL$;
- 1330 LOCATE CSRLIN-1,11:PRINT "STEP":LOCATE CSRLIN-1,46:PRINT "INSTR"
- 1340 IF M=2 THEN X=D1/3.2808:X$="m" ELSE X=D1:X$="'"
- 1350 PRINT "Distance between wire ends:";TAB(38);USING "####.##";X*2;
- 1360 PRINT X$;"CALL";
- 1370 IF M=2 THEN X=D2/3.2808:X$="m" ELSE X=D2:X$="'"
- 1380 PRINT TAB(73);USING "####.##";X*2;:PRINT X$;
- 1390 PRINT UL$;
- 1400 LOCATE CSRLIN-1,46:PRINT "STEP"
- 1410 PRINT "NOTE: All calculated values have been rounded-off."
- 1420 PRINT UL$;
- 1430 GOSUB 2050
- 1440 GOTO 260 'start
- 1450 '
- 1460 '.....excessive length
- 1470 VIEW PRINT 8 TO 24:CLS:VIEW PRINT:LOCATE 10
- 1480 PRINT " NOT RECOMMENDED! Sag exceeds practical limit....press any key...."
- 1490 IF INKEY$=""THEN 1490
- 1500 GOTO 260 'start
- 1510 '
- 1520 '.....format
- 1530 A$="###.#"
- 1540 IF A<100 THEN A$="##.#"
- 1550 IF A<10 THEN A$="#.#"
- 1560 RETURN
- 1570 '
- 1580 '.....text block
- 1590 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 1600 TB=7 'tab for text
- 1610 PRINT TAB(TB);
- 1620 PRINT " The sag in a horizontal wire is the distance between the centre"
- 1630 PRINT TAB(TB);
- 1640 PRINT "of the wire and an imaginary line drawn between its ends. The"
- 1650 PRINT TAB(TB);
- 1660 PRINT "minimum amount of sag should be such that the tension in the wire"
- 1670 PRINT TAB(TB);
- 1680 PRINT "due to its own weight does not exceed 10% of the breaking point of"
- 1690 PRINT TAB(TB);
- 1700 PRINT "of the wire. This will allow for additional normal stresses due to"
- 1710 PRINT TAB(TB);
- 1720 PRINT "wind and ice loading and lightweight feedlines without stretching"
- 1730 PRINT TAB(TB);
- 1740 PRINT "the wire."
- 1750 PRINT TAB(TB);
- 1760 PRINT " Decreasing the recommended sag by pulling the wire tighter"
- 1770 PRINT TAB(TB);
- 1780 PRINT "increases the tension, causing the wire to stretch and change its"
- 1790 PRINT TAB(TB);
- 1800 PRINT "electrical properties at RF frequencies as well as lowering its"
- 1810 PRINT TAB(TB);
- 1820 PRINT "breaking point. This can start a continuing cycle of further"
- 1830 PRINT TAB(TB);
- 1840 PRINT "sagging of the weakened wire due to its own weight and retightening"
- 1850 PRINT TAB(TB);
- 1860 PRINT "to reduce the sag until the recurring over-stressing of the"
- 1870 PRINT TAB(TB);
- 1880 PRINT "increasingly weakened wire causes it to break under normal loads."
- 1890 PRINT TAB(TB);
- 1900 PRINT " Contrary to a popular misconception, reducing the wire size does"
- 1910 PRINT TAB(TB);
- 1920 PRINT "not reduce the recommended amount of sag. While the overall weight"
- 1930 PRINT TAB(TB);
- 1940 PRINT "will be reduced the lower breaking point of the smaller wire will"
- 1950 PRINT TAB(TB);
- 1960 PRINT "result in the recommended sag remaining the same."
- 1970 PRINT TAB(TB);
- 1980 PRINT " Do not use aluminum or soft copper wire for antennas. To meet the"
- 1990 PRINT TAB(TB);
- 2000 PRINT "design criteria expressed above, excessively large and unsightly"
- 2010 PRINT TAB(TB);
- 2020 PRINT "amounts of sag would be required."
- 2030 RETURN
- 2040 '
- 2050 'HARDCOPY
- 2060 GOSUB 2170:LOCATE 25,2:COLOR 14,6
- 2070 PRINT " Press 1 to print screen, 2 to print screen & ";
- 2080 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 2090 Z$=INKEY$:IF Z$="3"THEN GOSUB 2170:RETURN
- 2100 IF Z$="1"OR Z$="2"THEN GOSUB 2170:GOTO 2120
- 2110 GOTO 2090
- 2120 FOR QX=1 TO 24:FOR QY=1 TO 80
- 2130 LPRINT CHR$(SCREEN(QX,QY));
- 2140 NEXT QY:NEXT QX
- 2150 IF Z$="2"THEN LPRINT CHR$(12)
- 2160 GOTO 2060
- 2170 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-